package qst.com.bacK.utils;

import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;

/**
 * Author:   msh
 * Date:     2024/10/13 上午1:14
 * Description:
 */

public class DateUtil {
    // 获取当前日期
    public static String getCurrentDate() {
        return LocalDate.now().toString();
    }

    // 获取当前时间
    public static String getCurrentTime() {
        return LocalDate.now().toString();
    }

    // 获取当前日期和时间
    public static String getCurrentDateTime() {
        return LocalDateTime.now().toString();
    }

    /**
     * 日期格式化（旧版）
     *
     * @param date 要格式化的日期对象Date
     * @return
     */
    public static String formatDate(Date date) {
        return new SimpleDateFormat("yyyy-MM-dd").format(date);
    }

    /**
     * 日期时间格式化（旧版）
     *
     * @param date 要格式化的日期对象Date
     * @return 格式化的日期时间字符串
     */
    public static String formatDateTime(Date date) {
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);
    }

    /**
     * 日期格式化（新版）
     *
     * @param date 要格式化的日期对象LocalDate
     * @return 格式化的日期字符串
     */
    public static String formatLocalDate(LocalDate date) {
        return DateTimeFormatter.ofPattern("yyyy-MM-dd").format(date);
    }

    /**
     * 日期时间格式化（新版）
     *
     * @param date 要格式化的日期对象LocalDateTime
     * @return 格式化的日期时间字符串
     */
    public static String formatDateTime(LocalDateTime date) {
        return DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(date);
    }
}
